﻿ #region Disclaimer/Info
 
 /////////////////////////////////////////////////////////////////////////////////////////////////
 //
 //   File:		UrlBuilderConfiguration.cs
 //   Website:		http://dexterblogengine.com/
 //   Authors:		http://dexterblogengine.com/About.ashx
 //   Rev:		1
 //   Created:		19/01/2011
 //   Last edit:		19/01/2011
 //   License:		GNU Library General Public License (LGPL)
 //   File:            UrlBuilderConfiguration.cs
 //   For updated news and information please visit http://dexterblogengine.com/
 //   Dexter is hosted to Codeplex at http://dexterblogengine.codeplex.com
 //   For any question contact info@dexterblogengine.com
 //
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 #endregion
 
using System;

namespace Dexter.Domain.Model {
	/// <summary>
	/// This class contains a set of informations about the UrlBuilder Configurations
	/// </summary>
	[Serializable]
	public class UrlBuilderConfiguration : DomainEntity {
		/// <summary>
		/// Initializes a new instance of the <see cref="UrlBuilderConfiguration"/> class.
		/// </summary>
		internal UrlBuilderConfiguration ( ) {
			UrlCase = UrlCase.Lower;
			ForceHttps = false;
		}

		/// <summary>
		/// Gets or sets the URL case.
		/// </summary>
		/// <value>The URL case.</value>
		public UrlCase UrlCase { get; set; }

		/// <summary>
		/// Gets or sets a value indicating whether [force HTTPS].
		/// </summary>
		/// <value><c>true</c> if [force HTTPS]; otherwise, <c>false</c>.</value>
		public bool ForceHttps { get; set; }

		/// <summary>
		/// Gets or sets the site domain.
		/// </summary>
		/// <value>The site domain.</value>
		public string SiteDomain { get; set; }
	}

	/// <summary>
	/// This enum contains the Url case  configuration
	/// </summary>
	[Serializable]
	public enum UrlCase {
		/// <summary>
		/// Ignore the case of the url.
		/// </summary>
		Ignore ,

		/// <summary>
		/// Transform the url to lowercase.
		/// </summary>
		Lower ,

		/// <summary>
		/// Transform the url to uppercase.
		/// </summary>
		UpperCase
	}
}
